package com.example;

import com.example.config.AppConfig;
import com.example.service.TaskService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainApp {
    public static void main(String[] args) {
        // 初始化Spring IOC容器（基于注解配置）
        AnnotationConfigApplicationContext context =
                new AnnotationConfigApplicationContext(AppConfig.class);

        // 从容器中获取TaskService实例（Spring自动注入了线程池）
        TaskService taskService = context.getBean(TaskService.class);

        // 执行第一个任务：每秒输出时间
        System.out.println("=== 开始时间打印任务 ===");
        taskService.startTimePrintTask();

        // 等待第一个任务完成（10秒）
        try {
            Thread.sleep(11000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        // 执行第二个任务：60秒倒计时
        System.out.println("\n=== 开始倒计时任务 ===");
        taskService.startCountdownTask();

        // 等待第二个任务完成（60秒）
        try {
            Thread.sleep(61000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        // 关闭容器
        context.close();
    }
}

